home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 123
/
(Vol 123) Jan 13 2011.iso
/
Games
/
check.swf
/
scripts
/
frame_3
/
DoAction_2.as
next >
Wrap
Text File
|
2011-01-13
|
17KB
|
622 lines
this.verifOverComp = function()
{
okx = 1;
i = 1;
while(i <= 12)
{
linie = Math.round((_root["c" + i]._y - 50) / 40 + 1);
coloana = Math.round((_root["c" + i]._x - 50) / 40 + 1);
valo = computerMoveValue(linie,coloana);
if(valo > 0)
{
okx = 0;
}
i++;
}
return okx;
};
this.verifOverPlayer = function()
{
okx = 1;
i = 1;
while(i <= 12)
{
linie = Math.round((_root["p" + i]._y - 50) / 40 + 1);
coloana = Math.round((_root["p" + i]._x - 50) / 40 + 1);
valo = playerMoveValue(linie,coloana);
if(valo > 0)
{
okx = 0;
}
i++;
}
return okx;
};
this.computerMove = function()
{
valMax = 0;
linStart = 0;
colStart = 0;
linDest = 0;
colDest = 0;
kx = 1;
if(_root.sunet == 1)
{
_root.son1.start();
}
i = 1;
while(i <= 12)
{
locVect[i] = -1;
i++;
}
while(kx < 13)
{
ran = random(12) + 1;
okie = true;
i = 1;
while(i <= 12)
{
if(ran == locVect[i])
{
okie = false;
}
i++;
}
if(okie)
{
locVect[kx] = ran;
kx++;
}
}
i = 1;
while(i <= 12)
{
kxx = locVect[i];
linie = Math.round((_root["c" + kxx]._y - 50) / 40 + 1);
coloana = Math.round((_root["c" + kxx]._x - 50) / 40 + 1);
valoare = computerMoveValue(linie,coloana);
if(valoare > valMax)
{
valMax = valoare;
linStart = linie;
colStart = coloana;
linDest = _root.flin;
colDest = _root.fcol;
}
i++;
}
piece2 = matPosC[linStart][colStart];
moveY = (linDest - linStart) * 40;
moveX = (colDest - colStart) * 40;
_root["sq" + linStart + "" + colStart].play();
_root["sq" + linDest + "" + colDest].play();
_root["c" + piece2]._x += moveX;
_root["c" + piece2]._y += moveY;
if(linDest == 1)
{
_root["c" + piece2].gotoAndStop(2);
_root.crowned2[piece2] = 1;
}
matPosC[linDest][colDest] = matPosC[linStart][colStart];
matPosC[linStart][colStart] = 0;
if(valMax == 4)
{
piece3 = matPosP[(linDest + linStart) / 2][(colDest + colStart) / 2];
_root["p" + piece3]._x = -1000;
matPosP[(linDest + linStart) / 2][(colDest + colStart) / 2] = 0;
_root.playerScore--;
if(_root.playerScore == 0)
{
_root.gOver.play();
_root.gOver.msg.text = "You lose!";
}
plScore1.text = _root.playerScore;
plScore2.text = _root.playerScore;
valoare2 = computerMoveValue(lindest,coldest);
if(valoare2 == 4)
{
linie = Math.round((_root["c" + piece2]._y - 50) / 40 + 1);
coloana = Math.round((_root["c" + piece2]._x - 50) / 40 + 1);
linStart = linie;
colStart = coloana;
linDest = _root.flin;
colDest = _root.fcol;
moveY = (linDest - linStart) * 40;
moveX = (colDest - colStart) * 40;
_root["sq" + linStart + "" + colStart].play();
_root["sq" + linDest + "" + colDest].play();
_root["c" + piece2]._x += moveX;
_root["c" + piece2]._y += moveY;
if(linDest == 1)
{
_root["c" + piece2].gotoAndStop(2);
_root.crowned2[piece2] = 1;
}
matPosC[linDest][colDest] = matPosC[linStart][colStart];
matPosC[linStart][colStart] = 0;
piece3 = matPosP[(linDest + linStart) / 2][(colDest + colStart) / 2];
_root["p" + piece3]._x = -1000;
matPosP[(linDest + linStart) / 2][(colDest + colStart) / 2] = 0;
_root.playerScore--;
if(_root.playerScore == 0)
{
_root.gOver.play();
_root.gOver.msg.text = "You lose!";
}
plScore1.text = _root.playerScore;
plScore2.text = _root.playerScore;
}
valoare2 = computerMoveValue(lindest,coldest);
if(valoare2 == 4)
{
linie = Math.round((_root["c" + piece2]._y - 50) / 40 + 1);
coloana = Math.round((_root["c" + piece2]._x - 50) / 40 + 1);
linStart = linie;
colStart = coloana;
linDest = _root.flin;
colDest = _root.fcol;
moveY = (linDest - linStart) * 40;
moveX = (colDest - colStart) * 40;
_root["sq" + linStart + "" + colStart].play();
_root["sq" + linDest + "" + colDest].play();
_root["c" + piece2]._x += moveX;
_root["c" + piece2]._y += moveY;
if(linDest == 1)
{
_root["c" + piece2].gotoAndStop(2);
_root.crowned2[piece2] = 1;
}
matPosC[linDest][colDest] = matPosC[linStart][colStart];
matPosC[linStart][colStart] = 0;
piece3 = matPosP[(linDest + linStart) / 2][(colDest + colStart) / 2];
_root["p" + piece3]._x = -1000;
matPosP[(linDest + linStart) / 2][(colDest + colStart) / 2] = 0;
_root.playerScore--;
if(_root.playerScore == 0)
{
_root.gOver.play();
_root.gOver.msg.text = "You lose!";
}
plScore1.text = _root.playerScore;
plScore2.text = _root.playerScore;
}
}
if(verifOverComp() == 1)
{
_root.gOver.play();
_root.gOver.msg.text = "You win!";
}
if(verifOverPlayer() == 1)
{
_root.gOver.play();
_root.gOver.msg.text = "You lose!";
}
};
this.computerMoveValue = function(ilin, icol)
{
val = 0;
_root.flin = 0;
_root.fcol = 0;
piece4 = matPosC[ilin][icol];
if(_root.crowned2[piece4] == 1)
{
if(matPosP[ilin + 1][icol + 1] == 0 && matPosC[ilin + 1][icol + 1] == 0)
{
val = 1;
_root.flin = ilin + 1;
_root.fcol = icol + 1;
}
if(matPosP[ilin + 1][icol - 1] == 0 && matPosC[ilin + 1][icol - 1] == 0)
{
val = 1;
_root.flin = ilin + 1;
_root.fcol = icol - 1;
}
}
if(matPosP[ilin - 1][icol + 1] == 0 && matPosC[ilin - 1][icol + 1] == 0)
{
val = 1;
_root.flin = ilin - 1;
_root.fcol = icol + 1;
}
if(matPosP[ilin - 1][icol - 1] == 0 && matPosC[ilin - 1][icol - 1] == 0)
{
val = 1;
_root.flin = ilin - 1;
_root.fcol = icol - 1;
}
if(_root.crowned2[piece4] == 1)
{
if(matPosP[ilin + 2][icol + 2] == 0 && matPosP[ilin + 2][icol] == 0)
{
if(matPosP[ilin + 1][icol + 1] == 0 && matPosC[ilin + 1][icol + 1] == 0)
{
val = 2;
_root.flin = ilin + 1;
_root.fcol = icol + 1;
}
}
if(matPosP[ilin + 2][icol - 2] == 0 && matPosP[ilin + 2][icol] == 0)
{
if(matPosP[ilin + 1][icol - 1] == 0 && matPosC[ilin + 1][icol - 1] == 0)
{
val = 2;
_root.flin = ilin + 1;
_root.fcol = icol - 1;
}
}
}
if(matPosP[ilin - 2][icol + 2] == 0 && matPosP[ilin - 2][icol] == 0)
{
if(matPosP[ilin - 1][icol + 1] == 0 && matPosC[ilin - 1][icol + 1] == 0)
{
val = 2;
_root.flin = ilin - 1;
_root.fcol = icol + 1;
}
}
if(matPosP[ilin - 2][icol - 2] == 0 && matPosP[ilin - 2][icol] == 0)
{
if(matPosP[ilin - 1][icol - 1] == 0 && matPosC[ilin - 1][icol - 1] == 0)
{
val = 2;
_root.flin = ilin - 1;
_root.fcol = icol - 1;
}
}
if(_root.crowned2[piece4] == 1)
{
if(matPosC[ilin + 2][icol + 2] != 0 && matPosP[ilin + 3][icol + 3] != 0)
{
if(matPosC[ilin + 1][icol + 1] == 0 && matPosP[ilin + 1][icol + 1] == 0)
{
val = 3;
_root.flin = ilin + 1;
_root.fcol = icol + 1;
}
}
if(matPosC[ilin + 2][icol - 2] != 0 && matPosP[ilin + 3][icol - 3] != 0)
{
if(matPosC[ilin + 1][icol - 1] == 0 && matPosP[ilin + 1][icol - 1] == 0)
{
val = 3;
_root.flin = ilin + 1;
_root.fcol = icol - 1;
}
}
}
if(matPosC[ilin - 2][icol + 2] != 0 && matPosP[ilin - 3][icol + 3] != 0)
{
if(matPosC[ilin - 1][icol + 1] == 0 && matPosP[ilin - 1][icol + 1] == 0)
{
val = 3;
_root.flin = ilin - 1;
_root.fcol = icol + 1;
}
}
if(matPosC[ilin - 2][icol - 2] != 0 && matPosP[ilin - 3][icol - 3] != 0)
{
if(matPosC[ilin - 1][icol - 1] == 0 && matPosP[ilin - 1][icol - 1] == 0)
{
val = 3;
_root.flin = ilin - 1;
_root.fcol = icol - 1;
}
}
if(_root.crowned2[piece4] == 1)
{
if(matPosP[ilin + 1][icol + 1] != 0)
{
if(matPosP[ilin + 2][icol + 2] == 0 && matPosC[ilin + 2][icol + 2] == 0)
{
val = 4;
_root.flin = ilin + 2;
_root.fcol = icol + 2;
}
}
if(matPosP[ilin + 1][icol - 1] != 0)
{
if(matPosP[ilin + 2][icol - 2] == 0 && matPosC[ilin + 2][icol - 2] == 0)
{
val = 4;
_root.flin = ilin + 2;
_root.fcol = icol - 2;
}
}
}
if(matPosP[ilin - 1][icol + 1] != 0)
{
if(matPosP[ilin - 2][icol + 2] == 0 && matPosC[ilin - 2][icol + 2] == 0)
{
val = 4;
_root.flin = ilin - 2;
_root.fcol = icol + 2;
}
}
if(matPosP[ilin - 1][icol - 1] != 0)
{
if(matPosP[ilin - 2][icol - 2] == 0 && matPosC[ilin - 2][icol - 2] == 0)
{
val = 4;
_root.flin = ilin - 2;
_root.fcol = icol - 2;
}
}
return val;
};
this.playerMoveValue = function(ilin, icol)
{
val2 = 0;
piece6 = matPosP[ilin][icol];
if(matPosP[ilin + 1][icol + 1] == 0 && matPosP[ilin + 1][icol + 1] == 0)
{
val2 = 1;
}
if(matPosC[ilin + 1][icol - 1] == 0 && matPosP[ilin + 1][icol - 1] == 0)
{
val2 = 1;
}
if(_root.crowned[piece6] == 1)
{
if(matPosC[ilin - 1][icol + 1] == 0 && matPosP[ilin - 1][icol + 1] == 0)
{
val2 = 1;
}
if(matPosC[ilin - 1][icol - 1] == 0 && matPosP[ilin - 1][icol - 1] == 0)
{
val2 = 1;
}
}
if(matPosC[ilin + 2][icol + 2] == 0 && matPosC[ilin + 2][icol] == 0)
{
if(matPosC[ilin + 1][icol + 1] == 0 && matPosP[ilin + 1][icol + 1] == 0)
{
val2 = 2;
}
}
if(matPosC[ilin + 2][icol - 2] == 0 && matPosC[ilin + 2][icol] == 0)
{
if(matPosC[ilin + 1][icol - 1] == 0 && matPosP[ilin + 1][icol - 1] == 0)
{
val2 = 2;
}
}
if(_root.crowned[piece6] == 1)
{
if(matPosC[ilin - 2][icol + 2] == 0 && matPosC[ilin - 2][icol] == 0)
{
if(matPosC[ilin - 1][icol + 1] == 0 && matPosP[ilin - 1][icol + 1] == 0)
{
val = 2;
}
}
if(matPosC[ilin - 2][icol - 2] == 0 && matPosC[ilin - 2][icol] == 0)
{
if(matPosC[ilin - 1][icol - 1] == 0 && matPosP[ilin - 1][icol - 1] == 0)
{
val2 = 2;
}
}
}
if(matPosP[ilin + 2][icol + 2] != 0 && matPosC[ilin + 3][icol + 3] != 0)
{
if(matPosP[ilin + 1][icol + 1] == 0 && matPosC[ilin + 1][icol + 1] == 0)
{
val2 = 3;
}
}
if(matPosP[ilin + 2][icol - 2] != 0 && matPosC[ilin + 3][icol - 3] != 0)
{
if(matPosP[ilin + 1][icol - 1] == 0 && matPosC[ilin + 1][icol - 1] == 0)
{
val2 = 3;
}
}
if(_root.crowned[piece6] == 1)
{
if(matPosP[ilin - 2][icol + 2] != 0 && matPosC[ilin - 3][icol + 3] != 0)
{
if(matPosP[ilin - 1][icol + 1] == 0 && matPosC[ilin - 1][icol + 1] == 0)
{
val2 = 3;
}
}
if(matPosP[ilin - 2][icol - 2] != 0 && matPosC[ilin - 3][icol - 3] != 0)
{
if(matPosP[ilin - 1][icol - 1] == 0 && matPosC[ilin - 1][icol - 1] == 0)
{
val2 = 3;
}
}
}
if(matPosC[ilin + 1][icol + 1] != 0 && matPosC[ilin + 1][icol + 1] != null)
{
if(matPosC[ilin + 2][icol + 2] == 0 && matPosP[ilin + 2][icol + 2] == 0)
{
val2 = 4;
}
}
if(matPosC[ilin + 1][icol - 1] != 0 && matPosC[ilin + 1][icol - 1] != null)
{
if(matPosC[ilin + 2][icol - 2] == 0 && matPosP[ilin + 2][icol - 2] == 0)
{
val2 = 4;
}
}
if(_root.crowned[piece6] == 1)
{
if(matPosC[ilin - 1][icol + 1] != 0 && matPosC[ilin - 1][icol + 1] != null)
{
if(matPosC[ilin - 2][icol + 2] == 0 && matPosP[ilin - 2][icol + 2] == 0)
{
val2 = 4;
}
}
if(matPosC[ilin - 1][icol - 1] != 0 && matPosC[ilin - 1][icol - 1] != null)
{
if(matPosC[ilin - 2][icol - 2] == 0 && matPosP[ilin - 2][icol - 2] == 0)
{
val2 = 4;
}
}
}
return val2;
};
this.movePiece = function(xini, yini, xfin, yfin)
{
aux1 = matPosP[xini][yini];
_root["p" + aux1]._x = xfin;
_root["p" + aux1]._y = yfin;
_root["p" + aux1]._alpha = 100;
aux3 = _root.activePiece[1];
aux4 = _root.activePiece[2];
SqXPos = Math.round((yfin - 50) / 40 + 1);
SqYPos = Math.round((xfin - 50) / 40 + 1);
if(SqXPos == 8)
{
_root["p" + aux1].gotoAndStop(2);
_root.crowned[aux1] = 1;
}
if(Math.abs(SqXPos - aux3) == 2)
{
auxlin = (SqXPos + aux3) / 2;
auxcol = (SqYPos + aux4) / 2;
auxPiece = matPosC[auxlin][auxcol];
_root["c" + auxPiece]._x = -1000;
matPosC[auxlin][auxcol] = 0;
_root.computerScore--;
if(_root.computerScore == 0)
{
_root.gOver.play();
_root.gOver.msg.text = "You win!";
}
computerScore1.text = _root.computerScore;
computerScore2.text = _root.computerScore;
}
_root.matPosP[SqXPos][SqYPos] = _root.matPosP[aux3][aux4];
_root.matPosP[aux3][aux4] = 0;
activePiece[1] = null;
activePiece[2] = null;
};
this.validMove = function(xini, yini, xfin, yfin)
{
ok = true;
piece1 = matPosP[xini][yini];
if(kxxxx == 1)
{
if(Math.abs(xini - xfin) != 2)
{
ok = false;
}
}
if(Math.abs(xini - xfin) + Math.abs(yini - yfin) != 2 && Math.abs(xini - xfin) + Math.abs(yini - yfin) != 4)
{
ok = false;
}
if(Math.abs(xini - xfin) == 0)
{
ok = false;
}
if(Math.abs(yini - yfin) == 0)
{
ok = false;
}
if(Math.abs(xini - xfin) + Math.abs(yini - yfin) == 4)
{
if(matPosC[(xini + xfin) / 2][(yini + yfin) / 2] == 0)
{
ok = false;
}
}
if(crowned[piece1] == 0 && xini - xfin > 0)
{
ok = false;
}
if(matPosC[xfin][yfin] != 0)
{
ok = false;
}
if(matPosP[xfin][yfin] != 0)
{
ok = false;
}
if(ok == false)
{
aux2 = matPosP[xini][yini];
if(_root.kxxxx == 0)
{
_root["p" + aux2]._alpha = 100;
activePiece[1] = null;
activePiece[2] = null;
}
}
return ok;
};
this.initMatPosP = function()
{
matPosP = new Array();
i = 1;
while(i <= 8)
{
matPosP[i] = new Array();
i++;
}
i = 1;
while(i <= 8)
{
j = 1;
while(j <= 8)
{
matPosP[i][j] = 0;
j++;
}
i++;
}
matPosP[1][1] = 1;
matPosP[1][3] = 2;
matPosP[1][5] = 3;
matPosP[1][7] = 4;
matPosP[2][2] = 5;
matPosP[2][4] = 6;
matPosP[2][6] = 7;
matPosP[2][8] = 8;
matPosP[3][1] = 9;
matPosP[3][3] = 10;
matPosP[3][5] = 11;
matPosP[3][7] = 12;
};
this.initMatPosC = function()
{
matPosC = new Array();
i = 0;
while(i <= 9)
{
matPosC[i] = new Array();
i++;
}
i = 0;
while(i <= 9)
{
j = 0;
while(j <= 9)
{
matPosC[i][j] = 0;
j++;
}
i++;
}
matPosC[8][2] = 1;
matPosC[8][4] = 2;
matPosC[8][6] = 3;
matPosC[8][8] = 4;
matPosC[7][1] = 5;
matPosC[7][3] = 6;
matPosC[7][5] = 7;
matPosC[7][7] = 8;
matPosC[6][2] = 9;
matPosC[6][4] = 10;
matPosC[6][6] = 11;
matPosC[6][8] = 12;
};